﻿<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:controls="clr-namespace:HubTileControl"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">


    <Style TargetType="controls:HubTile">
        <Style.Setters>
            <Setter Property="Height" Value="173"/>
            <Setter Property="Width" Value="173"/>
            <Setter Property="Background" Value="#000000"/>
            <Setter Property="Foreground" Value="#FFFFFFFF"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="controls:HubTile">
                        <StackPanel x:Name="Viewport"
                                    Height="173" Width="173">
                            <StackPanel.Resources>
                                <CubicEase EasingMode="EaseOut" x:Key="HubTileEaseOut"/>
                            </StackPanel.Resources>
                            <StackPanel.Projection>
                                <PlaneProjection CenterOfRotationY="0.25" x:Name="ViewportProjection"/>
                            </StackPanel.Projection>
                            <VisualStateManager.VisualStateGroups>
                                <VisualStateGroup x:Name="ImageStates">
                                    <VisualStateGroup.Transitions>
                                        <VisualTransition x:Name="ExpandedToSemiexpanded" 
                                                          From="Expanded" To="Semiexpanded"
                                                          GeneratedDuration="0:0:0.85">
                                            <Storyboard>
                                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" 
                                                                               Storyboard.TargetName="TitlePanel">
                                                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="-173.0" EasingFunction="{StaticResource HubTileEaseOut}"/>
                                                    <EasingDoubleKeyFrame KeyTime="0:0:0.85" Value="-79.0" EasingFunction="{StaticResource HubTileEaseOut}"/>
                                                </DoubleAnimationUsingKeyFrames>
                                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="RotationX" 
                                                                               Storyboard.TargetName="ViewportProjection">
                                                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0.0" EasingFunction="{StaticResource HubTileEaseOut}"/>
                                                </DoubleAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualTransition>
                                        <VisualTransition x:Name="SemiexpandedToCollapsed" 
                                                          From="Semiexpanded" To="Collapsed"
                                                          GeneratedDuration="0:0:0.85">
                                            <Storyboard>
                                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" 
                                                                               Storyboard.TargetName="TitlePanel">
                                                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="-79.0" EasingFunction="{StaticResource HubTileEaseOut}"/>
                                                    <EasingDoubleKeyFrame KeyTime="0:0:0.85" Value="0.0" EasingFunction="{StaticResource HubTileEaseOut}"/>
                                                </DoubleAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualTransition>
                                        <VisualTransition x:Name="CollapsedToExpanded" 
                                                          From="Collapsed" To="Expanded"
                                                          GeneratedDuration="0:0:0.85">
                                            <Storyboard>
                                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" 
                                                                               Storyboard.TargetName="TitlePanel">
                                                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0.0" EasingFunction="{StaticResource HubTileEaseOut}"/>
                                                    <EasingDoubleKeyFrame KeyTime="0:0:0.85" Value="-173.0" EasingFunction="{StaticResource HubTileEaseOut}"/>
                                                </DoubleAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualTransition>
                                        <VisualTransition x:Name="ExpandedToFlipped" 
                                                          From="Expanded" To="Flipped"
                                                          GeneratedDuration="0:0:0.85">
                                            <Storyboard>
                                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" 
                                                                               Storyboard.TargetName="TitlePanel">
                                                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="-173.0" EasingFunction="{StaticResource HubTileEaseOut}"/>
                                                </DoubleAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)"
                                                                               Storyboard.TargetName="Image">
                                                    <DiscreteObjectKeyFrame KeyTime="0:0:0.185" Value="Collapsed"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="RotationX" 
                                                                               Storyboard.TargetName="ViewportProjection">
                                                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0.0" EasingFunction="{StaticResource HubTileEaseOut}"/>
                                                    <EasingDoubleKeyFrame KeyTime="0:0:0.85" Value="180.0" EasingFunction="{StaticResource HubTileEaseOut}"/>
                                                </DoubleAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualTransition>
                                        <VisualTransition x:Name="FlippedToExpanded" 
                                                          From="Flipped" To="Expanded"
                                                          GeneratedDuration="0:0:0.85">
                                            <Storyboard>
                                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" 
                                                                               Storyboard.TargetName="TitlePanel">
                                                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="-173.0" EasingFunction="{StaticResource HubTileEaseOut}"/>
                                                </DoubleAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)"
                                                                               Storyboard.TargetName="Image">
                                                    <DiscreteObjectKeyFrame KeyTime="0:0:0.185" Value="Visible"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="RotationX" 
                                                                               Storyboard.TargetName="ViewportProjection">
                                                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="180.0" EasingFunction="{StaticResource HubTileEaseOut}"/>
                                                    <EasingDoubleKeyFrame KeyTime="0:0:0.85" Value="360.0" EasingFunction="{StaticResource HubTileEaseOut}"/>
                                                </DoubleAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualTransition>
                                    </VisualStateGroup.Transitions>
                                    <VisualStateGroup.States>
                                        <VisualState x:Name="Expanded">
                                            <Storyboard>
                                                <DoubleAnimation Duration="0" To="-173.0" 
                                                                 Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" 
                                                                 Storyboard.TargetName="TitlePanel"/>
                                                <DoubleAnimation Duration="0" To="0.0" 
                                                                 Storyboard.TargetProperty="RotationX" 
                                                                 Storyboard.TargetName="ViewportProjection"/>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)"
                                                                               Storyboard.TargetName="Image">
                                                    <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="Semiexpanded">
                                            <Storyboard>
                                                <DoubleAnimation Duration="0" To="-79.0" 
                                                                 Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" 
                                                                 Storyboard.TargetName="TitlePanel"/>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="Collapsed"/>
                                        <VisualState x:Name="Flipped">
                                            <Storyboard>
                                                <DoubleAnimation Duration="0" To="-173.0" 
                                                                 Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" 
                                                                 Storyboard.TargetName="TitlePanel"/>
                                                <DoubleAnimation Duration="0" To="180.0" 
                                                                 Storyboard.TargetProperty="RotationX" 
                                                                 Storyboard.TargetName="ViewportProjection"/>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)"
                                                                               Storyboard.TargetName="Image">
                                                    <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Collapsed"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup.States>
                                </VisualStateGroup>
                            </VisualStateManager.VisualStateGroups>
                            <Grid x:Name="TitlePanel"
                                  Height="346" Width="173"
                                  RenderTransformOrigin="0.5,0.5">
                                <Grid.RenderTransform>
                                    <CompositeTransform/>
                                </Grid.RenderTransform>
                                <Grid.RowDefinitions>
                                    <RowDefinition/>
                                    <RowDefinition/>
                                </Grid.RowDefinitions>
                                <Border Grid.Row="0"                                        
                                        Background="{TemplateBinding Background}">
                                    <TextBlock VerticalAlignment="Bottom"  
                                               Margin="10,0,0,6"
                                               Text="{TemplateBinding Title}"
                                              
                                               FontSize="41"
                                               Foreground="{TemplateBinding Foreground}"
                                               TextWrapping="NoWrap" 
                                               LineStackingStrategy="BlockLineHeight"
                                               LineHeight="39"><!--FontFamily="{StaticResource PhoneFontFamilyNormal}"-->
                                    </TextBlock>
                                </Border>
                                <Grid x:Name="BackPanel"
                                      Grid.Row="1"   
                                      Height="173" Width="173"
                                      Background="{TemplateBinding Background}">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="*"/>
                                        <RowDefinition Height="Auto"/>
                                    </Grid.RowDefinitions>
                                    <Grid.Projection>
                                        <PlaneProjection CenterOfRotationY="0.5" RotationX="180"/>
                                    </Grid.Projection>
                                    <TextBlock x:Name="NotificationBlock" Grid.Row="0"
                                               Margin="8,8,0,6"
                                               Text="{TemplateBinding Notification}"
                                               
                                               Foreground="{TemplateBinding Foreground}"
                                               TextWrapping="Wrap"
                                               LineStackingStrategy="BlockLineHeight"
                                               LineHeight="32" Visibility="Collapsed"/> <!--FontFamily="{StaticResource PhoneFontFamilyNormal}"
                                               FontSize="{StaticResource PhoneFontSizeLarge}"-->
                                    <TextBlock x:Name="MessageBlock" Grid.Row="0"
                                               Margin="10,10,10,6"
                                               Text="{TemplateBinding Message}"
                                               
                                               Foreground="{TemplateBinding Foreground}"
                                               TextWrapping="Wrap"
                                               LineStackingStrategy="BlockLineHeight"
                                               LineHeight="23.333"/> <!--FontFamily="{StaticResource PhoneFontFamilyNormal}"
                                               FontSize="{StaticResource PhoneFontSizeNormal}"-->
                                    <TextBlock x:Name="BackTitleBlock" Grid.Row="1" 
                                               VerticalAlignment="Bottom" 
                                               Margin="10,0,0,6"
                                               
                                               Foreground="{TemplateBinding Foreground}"
                                               TextWrapping="NoWrap"/> <!--FontFamily="{StaticResource PhoneFontFamilySemiBold}"
                                               FontSize="{StaticResource PhoneFontSizeNormal}"-->
                                </Grid>
                                <Image x:Name="Image" Grid.Row="1"
                                       Height="173" Width="173"
                                       Stretch="UniformToFill"
                                       Source="{TemplateBinding Source}"/>
                            </Grid>
                        </StackPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style.Setters>
    </Style>
</ResourceDictionary>
